package lagou.mode3;

import java.util.ArrayList;
import java.util.List;

/*
编程统计字符串"ABCD123!@#$%ab"中大写字母、小写字母、数字、其它字符的个数并打 印出来。
 */
public class Homework1 {
    public static void main(String[] args) {

        int upper=0;
        List u=new ArrayList<>();
        int lower=0;
        List l=new ArrayList();
        int digit=0;
        List d=new ArrayList();
        int other=0;
        List o=new ArrayList();
        String s1= new String("ABCD123!@#$%ab");
        for(int i=0;i<s1.length();i++) {
            char c1 = s1.charAt(i);
            if (Character.isUpperCase(c1)){
                upper++;
                //发现大写字母XXX，目前大写字母已有X个
                u.add(c1);
                System.out.println("发现大写字母"+c1+",目前大写字母已有"+upper+"个！");
            }
            else if(Character.isLowerCase(c1)){
                lower++;
                l.add(c1);
                System.out.println("发现小写字母"+c1+",目前小写字母已有"+lower+"个！");
            }
            else if(Character.isDigit(c1)){
                digit++;
                d.add(c1);
                System.out.println("发现数字"+c1+",目前数字已有"+digit+"个！");
            }
            else{
                other++;
                o.add(c1);
                System.out.println("发现其它字符"+c1+",目前其它字符已有"+other+"个！");
            }

        }
        System.out.println("综上：");
        System.out.println("  大写字母有"+upper+"个！分别为："+u);
        System.out.println("  小写字母有"+lower+"个！分别为："+l);
        System.out.println("  数字有"+digit+"个！分别为："+d);
        System.out.println("  其它字符有"+other+"个！分别为："+o);
    }
}
